原来想让自己通过项目的方式学习学习Django这一框架,结果拖延症的我到最后开始才做起来,没想到真是给自己挖大坑,这里就记录一下项目进展过程的中遇到的一些问题。
设置非必填项
通过model定义的字段一般都是必填的,如果允许为空的话需要自己设置属性,例如:
1
2
3class User(models.Model):
uid = models.CharFields(max_length=30, blank=True)
weight = models.DecimalField(max_digits=9, decimal_places=2, null=True, blank=True)需要注意的是:对于时间和输入,允许为空的条件需要
1
2
3
4
5
6
7
8
9
10
11
12
13
2. def \__str__(self)的兼容
关于该函数,在python2和3下有不同的书写方式,需要注意,否则会报错:
```python
def __str__(self):
# python3写法
return self.record_id
# python2写法
return self.record_id.encode("utf-8")
# 通用写法
return str(self.record_id)报错信息:
TypeError: __str__returned non-string (type bytes)